/*
 * @Author: 
 * @Date: 2024-05-15 20:38:16
 * @LastEditor: zhuxiaoyi
 * @LastEditTime: 2025-09-04 16:57:28
 * @Description: 
 */
/*
 * @Author: zhuxiaoyi
 * @Date: 2023-05-11 15:23:03
 * @LastEditor: zhuxiaoyi
 * @LastEditTime: 2025-09-01 10:45:22
 * @Description:
 */
import { createWebHistory, createRouter, RouteRecordRaw } from "vue-router";
const routes: Array<RouteRecordRaw> = [
  {
    path: "/login",
    name: "Login",
    meta: {
      title: "登录",
      keepAlive: true,
      requireAuth: false,
    },
    component: () => import("@/views/login/login.vue"),
  },
  {
    path: "/index",
    name: "index",
    meta: {
      title: "首页",
      keepAlive: true,
      requireAuth: true,
    },
    redirect: "index/general",
    component: () => import("@/views/index/index.vue"),
    children: [
      {
        path: "general",
        name: "general",
        meta: {
          title: "算法管理通用配置",
          keepAlive: true,
          requireAuth: true,
        },
        redirect: "index/general/algorithmManage/algorithmType",
        component: () => import("@/views/index/general/general.vue"),
        children: [
          {
            path: "randerManage",
            name: "randerManage",
            meta: {
              title: "渲染文件管理",
              keepAlive: true,
              requireAuth: true,
            },
            component: () =>
              import("@/views/index/general/randerManage/randerManage.vue"),
            children: [
              {
                path: "randerList",
                name: "randerList",
                meta: {
                  title: "渲染文件注册",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () =>
                  import(
                    "@/views/index/general/randerManage/randerList/randerList.vue"
                  ),
                children: [],
              },
              {
                path: "randerBinding",
                name: "randerBinding",
                meta: {
                  title: "渲染文件绑定",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () =>
                  import(
                    "@/views/index/general/randerManage/randerBinding/randerBinding.vue"
                  ),
                children: [],
              },
            ],
          },
          {
            path: "algorithmManage",
            name: "algorithmManage",
            meta: {
              title: "算法注册管理",
              keepAlive: true,
              requireAuth: true,
            },
            component: () =>
              import(
                "@/views/index/general/algorithmManage/algorithmManage.vue"
              ),
            children: [
              {
                path: "algorithmType",
                name: "algorithmType",
                meta: {
                  title: "算法类型管理",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () =>
                  import(
                    "@/views/index/general/algorithmManage/algorithmType/algorithmType.vue"
                  ),
                children: [],
              },
              {
                path: "algorithmList",
                name: "algorithmList",
                meta: {
                  title: "通用算法列表",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () =>
                  import(
                    "@/views/index/general/algorithmManage/algorithmList/algorithmList.vue"
                  ),
                children: [],
              },
            ],
          },
          {
            path: "processManage",
            name: "processManage",
            meta: {
              title: "算法流程管理",
              keepAlive: true,
              requireAuth: true,
            },
            component: () =>
              import("@/views/index/general/processManage/processManage.vue"),
            children: [
              {
                path: "processType",
                name: "processType",
                meta: {
                  title: "算法流程类别管理",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () =>
                  import(
                    "@/views/index/general/processManage/processType/processType.vue"
                  ),
                children: [],
              },
              {
                path: "processList",
                name: "processList",
                meta: {
                  title: "算法流程列表",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () =>
                  import(
                    "@/views/index/general/processManage/processList/processList.vue"
                  ),
                children: [],
              },
              {
                path: "processGraph/:id",
                name: "processGraph",
                meta: {
                  title: "算法流程管理",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () =>
                  import(
                    "@/views/index/general/processManage/processGraph/processGraph.vue"
                  ),
                children: [],
              },
              {
                path: "executeGraph/:id",
                name: "executeGraph",
                meta: {
                  title: "算法流程执行",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () =>
                  import(
                    "@/views/index/general/processManage/executeGraph/executeGraph.vue"
                  ),
                children: [],
              },
            ],
          },
          {
            path: "executeManage",
            name: "executeManage",
            meta: {
              title: "任务管理",
              keepAlive: true,
              requireAuth: true,
            },
            component: () =>
              import("@/views/index/general/executeManage/executeManage.vue"),
            children: [
              {
                path: "executeList",
                name: "executeList",
                meta: {
                  title: "任务列表",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () =>
                  import(
                    "@/views/index/general/executeManage/executeList/executeList.vue"
                  ),
                children: [],
              },
              {
                path: "previewLayers",
                name: "previewLayers",
                meta: {
                  title: "成果预览",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () =>
                  import(
                    "@/views/index/general/executeManage/previewLayers/previewLayers.vue"
                  ),
                children: [],
              },
            ],
          },
          {
            path: "EngineManage",
            name: "EngineManage",
            meta: {
              title: "人为活动自动识别引擎",
              keepAlive: true,
              requireAuth: false,
            },
            component: () => import("@/views/index/general/engineManage/EngineManage.vue"),
            children: [
              {
                path: "EngineList",
                name: "EngineList",
                meta: {
                  title: "引擎管理",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () => import("@/views/index/general/engineManage/EnginList/newEngineCard.vue"),
                children: [],
              }
            ]
          },
          {
            path: "modelManage",
            name: "modelManage",
            meta: {
              title: "AI模型自主训练与模型库",
              keepAlive: true,
              requireAuth: false,
            },
            component: () => import("@/views/index/general/modelManage/modelManage.vue"),
            children: [
              {
                path: "modelList",
                name: "modelList",
                meta: {
                  title: "模型库管理",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () => import("@/views/index/general/modelManage/modelList/newModleCard.vue"),
                children: [],
              },
              {
                path: "modelTraining",
                name: "modelTraining",
                meta: {
                  title: "模型训练任务管理",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () => import("@/views/index/general/modelManage/modelTraining/modelTraining.vue"),
                children: [],
              }
            ]
          },
          {
            path: "swatchManage",
            name: "swatchManage",
            meta: {
              title: "样本管理",
              keepAlive: true,
              requireAuth: false,
            },
            component: () => import("@/views/index/general/swatchManage/swatchManage.vue"),
            children: [
              {
                path: "swatchList",
                name: "swatchList",
                meta: {
                  title: "样本库",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () => import("@/views/index/general/swatchManage/swatchList/sampleMangae.vue"),
                children: [],
              }
            ]
          },
          {
            path: "nodeManage",
            name: "nodeManage",
            meta: {
              title: "节点管理",
              keepAlive: true,
              requireAuth: false,
            },
            component: () => import("@/views/index/general/nodeManage/nodeManage.vue"),
            children: [
              {
                path: "nodeGraph",
                name: "nodeGraph",
                meta: {
                  title: "样本库",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () => import("@/views/index/general/nodeManage/nodeGraph/nodeGraph.vue"),
                children: [],
              }
            ]
          },
        ],
      },
      {
        path: "userCenter",
        name: "userCenter",
        meta: {
          title: "用户中心",
          keepAlive: true,
          requireAuth: true,
        },
        component: () => import("@/views/index/userCenter/userCenter.vue"),
        children: [
          {
            path: "userManage",
            name: "userManage",
            meta: {
              title: "用户管理",
              keepAlive: true,
              requireAuth: true,
            },
            component: () => import("@/views/index/userCenter/userManage/userManage.vue"),
            children: [
              {
                path: "userList",
                name: "userList",
                meta: {
                  title: "用户列表",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () => import("@/views/index/userCenter/userManage/userList/userList.vue"),
              }
            ]
          },
          {
            path: "SubsystemManage",
            name: "SubsystemManage",
            meta: {
              title: "子系统管理",
              keepAlive: true,
              requireAuth: true,
            },
            component: () => import("@/views/index/userCenter/SubsystemManage/SubsystemManage.vue"),
            children: [
              {
                path: "subsystemList",
                name: "subsystemList",
                meta: {
                  title: "子系统列表",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () => import("@/views/index/userCenter/SubsystemManage/subsystemList/subsystemList.vue"),
              }
            ]
          },
          {
            path: "RoleManage",
            name: "RoleManage",
            meta: {
              title: "授权管理",
              keepAlive: true,
              requireAuth: true,
            },
            component: () => import("@/views/index/userCenter/RoleManage/RoleManage.vue"),
            children: [
              {
                path: "roleList",
                name: "roleList",
                meta: {
                  title: "角色列表",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () => import("@/views/index/userCenter/RoleManage/roleList/roleList.vue"),
              }
            ]
          }
        ]
      },
     
      {
        path: "feedbackCenter",
        name: "feedbackCenter",
        meta: {
          title: "意见反馈中心",
          keepAlive: true,
          requireAuth: true,
        },
        component: () => import("@/views/index/feedbackCenter/feedbackCenter.vue"),
        children: [
          {
            path: "feedbackManage",
            name: "feedbackManage",
            meta: {
              title: "意见反馈管理",
              keepAlive: true,
              requireAuth: true,
            },
            component: () => import("@/views/index/feedbackCenter/feedbackManage/feedbackManage.vue"),
            children: [
              {
                path: "feedbackList",
                name: "feedbackList",
                meta: {
                  title: "意见反馈列表",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () => import("@/views/index/feedbackCenter/feedbackManage/feedbackList/feedbackList.vue"),
              }
            ]
          },
        ]
      },
      {
        path: "consoleCenter",
        name: "consoleCenter",
        meta: {
          title: "控制台中心",
          keepAlive: true,
          requireAuth: true,
        },
        component: () => import("@/views/index/consoleCenter/consoleCenter.vue"),
        children: [
          {
            path: "consoleManage",
            name: "consoleManage",
            meta: {
              title: "控制台管理",
              keepAlive: true,
              requireAuth: true,
            },
            component: () => import("@/views/index/consoleCenter/consoleManage/consoleManage.vue"),
            children: [
              {
                path: "consoleList",
                name: "consoleList",
                meta: {
                  title: "控制台面板",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () => import("@/views/index/consoleCenter/consoleManage/consoleList/consoleList.vue"),
              }
            ]
          },
        ]
      },
      {
        path: "dataManageCenter",
        name: "dataManageCenter",
        meta: {
          title: "测站管理",
          keepAlive: true,
          requireAuth: true,
        },
        component: () => import("@/views/index/dataManageCenter/dataManageCenter.vue"),
        children: [
          {
            path: "stationTypeManage",
            name: "stationTypeManage",
            meta: {
              title: "测站管理",
              keepAlive: true,
              requireAuth: true,
            },
            component: () => import("@/views/index/dataManageCenter/stationTypeManage/stationTypeManage.vue"),
            children: [{
              path: "stationType",
              name: "stationType",
              meta: {
                title: "测站类型管理",
                keepAlive: true,
                requireAuth: true,
              },
              component: () => import("@/views/index/dataManageCenter/stationTypeManage/stationType/stationType.vue"),
            },
            {
              path: "stationTypeList",
              name: "stationTypeList",
              meta: {
                title: "测站数据要素管理",
                keepAlive: true,
                requireAuth: true,
              },
              component: () => import("@/views/index/dataManageCenter/stationTypeManage/stationTypeList/stationTypeList.vue"),
            }, {
              path: "stationList",
              name: "stationList",
              meta: {
                title: "测站管理",
                keepAlive: true,
                requireAuth: true,
              },
              component: () => import("@/views/index/dataManageCenter/stationTypeManage/stationList/stationList.vue"),
            }, {
              path: "stationDataList",
              name: "stationDataList",
              meta: {
                title: "测站数据管理",
                keepAlive: true,
                requireAuth: true,
              },
              component: () => import("@/views/index/dataManageCenter/stationTypeManage/stationDataList/stationDataList.vue"),
            },
            {
              path: "stationDataView",
              name: "stationDataView",
              meta: {
                title: "测站数据时序图",
                keepAlive: true,
                requireAuth: true,
              },
              component: () => import("@/views/index/dataManageCenter/stationTypeManage/stationDataView/stationDataView.vue"),
            },
            ]
          },
        ]
      },
      {
        path: "custom",
        name: "custom",
        meta: {
          title: "业务定制化展示",
          keepAlive: true,
          requireAuth: true,
        },
        component: () => import("@/views/index/custom/custom.vue"),
        children: [
          {
            path: "taskManage",
            name: "taskManage",
            meta: {
              title: "任务管理",
              keepAlive: true,
              requireAuth: true,
            },
            component: () =>
              import("@/views/index/custom/taskManage/taskManage.vue"),
            children: [
              {
                path: "taskList",
                name: "taskList",
                meta: {
                  title: "任务列表",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () =>
                  import(
                    "@/views/index/custom/taskManage/taskList/taskList.vue"
                  ),
                children: [],
              },
            ],
          },
          {
            path: "resultManage",
            name: "resultManage",
            meta: {
              title: "成果管理",
              keepAlive: true,
              requireAuth: true,
            },
            component: () =>
              import("@/views/index/custom/resultManage/resultManage.vue"),
            children: [
              {
                path: "resultShow",
                name: "resultShow",
                meta: {
                  title: "成果展示",
                  keepAlive: true,
                  requireAuth: true,
                },
                component: () =>
                  import(
                    "@/views/index/custom/resultManage/resultShow/resultShow.vue"
                  ),
                children: [],
              },
            ],
          },
        ],
      },
    ],
  },
  {
    path: "/custom/:id",
    name: "custom",
    meta: {
      title: "成果展示",
      keepAlive: true,
      requireAuth: false,
    },
    component: () => import("@/views/custom/custom.vue"),
  },
  {
    path: "/Irrigation",
    name: "Irrigation",
    meta: {
      title: "成果展示",
      keepAlive: true,
      requireAuth: false,
    },
    component: () => import("@/views/custom/Irrigation.vue"),
  },
  {
    path: "/flood",
    name: "flood",
    meta: {
      title: "设计洪水参数计算",
      keepAlive: true,
      requireAuth: false,
    },
    component: () => import("@/views/custom/flood.vue"),
  },
  {
    path: "/bigScreen/:id",
    name: "bigScreen",
    meta: {
      title: "可视化平台",
      keepAlive: true,
      requireAuth: false,
    },
    component: () => import("@/views/custom/bigScreen.vue"),
  },

  {
    path: "/bigScreen3/:id",
    name: "bigScreen3",
    meta: {
      title: "可视化平台",
      keepAlive: true,
      requireAuth: false,
    },
    component: () => import("@/views/custom/irrigationArea.vue"),
  },
   {
    path: "/bigScreen4/:id",
    name: "bigScreen4",
    meta: {
      title: "可视化平台",
      keepAlive: true,
      requireAuth: false,
    },
    component: () => import("@/views/custom/bigScreen4.vue"),
  },
  {
    path: "/bigScreen5/:id",
    name: "bigScreen5",
    meta: {
      title: "可视化平台",
      keepAlive: true,
      requireAuth: false,
    },
    component: () => import("@/views/custom/bigScreen5.vue"),
  },
  {
    path: "/bigScreen6/:id",
    name: "bigScreen6",
    meta: {
      title: "可视化平台",
      keepAlive: true,
      requireAuth: false,
    },
    component: () => import("@/views/custom/bigScreen6.vue"),
  },
  {
    path: "/taskResultManage",
    name: "taskResultManage",
    meta: {
      title: "变化检测成果",
      keepAlive: true,
      requireAuth: false,
    },
    component: () => import("@/views/custom/taskResultManage/taskResultManage.vue"),
  },
  {
    path: "/floodResultManage",
    name: "floodResultManage",
    meta: {
      title: "变化检测成果",
      keepAlive: true,
      requireAuth: false,
    },
    component: () => import("@/views/custom/floodResultManage/floodResultManage.vue"),
  },
  {
    path: "/cutFiles",
    name: "cutFiles.vue",
    meta: {
      title: "文件移植及MPDI计算流程调用",
      keepAlive: true,
      requireAuth: false,
    },
    component: () => import("@/views/custom/cutFiles.vue"),
  },
  {
    path: "/cutFiles2",
    name: "cutFiles2.vue",
    meta: {
      title: "文件移植及MPDI计算流程调用",
      keepAlive: true,
      requireAuth: false,
    },
    component: () => import("@/views/custom/cutFiles2.vue"),
  },

  {
    path: "/",
    redirect: "/login",
    meta: {
      title: "",
    },
  },
  {
    path: "/404",
    name: "404",
    component: () => import("@/views/notfound/notfound.vue"),
  },
  {
    path: "/:catchAll(.*)",
    redirect: "/404",
  },
];

const router = createRouter({
  history: createWebHistory(),
  routes,
});

export default router;
